package com.mindai.esper.monitor.persistence.auto.model;

import java.util.ArrayList;
import java.util.List;

public class EsperDbExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public EsperDbExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andDbCodeIsNull() {
            addCriterion("db_code is null");
            return (Criteria) this;
        }

        public Criteria andDbCodeIsNotNull() {
            addCriterion("db_code is not null");
            return (Criteria) this;
        }

        public Criteria andDbCodeEqualTo(Integer value) {
            addCriterion("db_code =", value, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeNotEqualTo(Integer value) {
            addCriterion("db_code <>", value, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeGreaterThan(Integer value) {
            addCriterion("db_code >", value, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("db_code >=", value, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeLessThan(Integer value) {
            addCriterion("db_code <", value, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeLessThanOrEqualTo(Integer value) {
            addCriterion("db_code <=", value, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeIn(List<Integer> values) {
            addCriterion("db_code in", values, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeNotIn(List<Integer> values) {
            addCriterion("db_code not in", values, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeBetween(Integer value1, Integer value2) {
            addCriterion("db_code between", value1, value2, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbCodeNotBetween(Integer value1, Integer value2) {
            addCriterion("db_code not between", value1, value2, "dbCode");
            return (Criteria) this;
        }

        public Criteria andDbNameIsNull() {
            addCriterion("db_name is null");
            return (Criteria) this;
        }

        public Criteria andDbNameIsNotNull() {
            addCriterion("db_name is not null");
            return (Criteria) this;
        }

        public Criteria andDbNameEqualTo(String value) {
            addCriterion("db_name =", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameNotEqualTo(String value) {
            addCriterion("db_name <>", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameGreaterThan(String value) {
            addCriterion("db_name >", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameGreaterThanOrEqualTo(String value) {
            addCriterion("db_name >=", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameLessThan(String value) {
            addCriterion("db_name <", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameLessThanOrEqualTo(String value) {
            addCriterion("db_name <=", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameLike(String value) {
            addCriterion("db_name like", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameNotLike(String value) {
            addCriterion("db_name not like", value, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameIn(List<String> values) {
            addCriterion("db_name in", values, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameNotIn(List<String> values) {
            addCriterion("db_name not in", values, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameBetween(String value1, String value2) {
            addCriterion("db_name between", value1, value2, "dbName");
            return (Criteria) this;
        }

        public Criteria andDbNameNotBetween(String value1, String value2) {
            addCriterion("db_name not between", value1, value2, "dbName");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("username is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("username is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("username =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("username <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("username >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("username >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("username <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("username <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("username like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("username not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("username in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("username not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("username between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("username not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andDbPasswordIsNull() {
            addCriterion("db_password is null");
            return (Criteria) this;
        }

        public Criteria andDbPasswordIsNotNull() {
            addCriterion("db_password is not null");
            return (Criteria) this;
        }

        public Criteria andDbPasswordEqualTo(String value) {
            addCriterion("db_password =", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordNotEqualTo(String value) {
            addCriterion("db_password <>", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordGreaterThan(String value) {
            addCriterion("db_password >", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("db_password >=", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordLessThan(String value) {
            addCriterion("db_password <", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordLessThanOrEqualTo(String value) {
            addCriterion("db_password <=", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordLike(String value) {
            addCriterion("db_password like", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordNotLike(String value) {
            addCriterion("db_password not like", value, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordIn(List<String> values) {
            addCriterion("db_password in", values, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordNotIn(List<String> values) {
            addCriterion("db_password not in", values, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordBetween(String value1, String value2) {
            addCriterion("db_password between", value1, value2, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbPasswordNotBetween(String value1, String value2) {
            addCriterion("db_password not between", value1, value2, "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbTypeIsNull() {
            addCriterion("db_type is null");
            return (Criteria) this;
        }

        public Criteria andDbTypeIsNotNull() {
            addCriterion("db_type is not null");
            return (Criteria) this;
        }

        public Criteria andDbTypeEqualTo(String value) {
            addCriterion("db_type =", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotEqualTo(String value) {
            addCriterion("db_type <>", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeGreaterThan(String value) {
            addCriterion("db_type >", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeGreaterThanOrEqualTo(String value) {
            addCriterion("db_type >=", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeLessThan(String value) {
            addCriterion("db_type <", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeLessThanOrEqualTo(String value) {
            addCriterion("db_type <=", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeLike(String value) {
            addCriterion("db_type like", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotLike(String value) {
            addCriterion("db_type not like", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeIn(List<String> values) {
            addCriterion("db_type in", values, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotIn(List<String> values) {
            addCriterion("db_type not in", values, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeBetween(String value1, String value2) {
            addCriterion("db_type between", value1, value2, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotBetween(String value1, String value2) {
            addCriterion("db_type not between", value1, value2, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbUrlIsNull() {
            addCriterion("db_url is null");
            return (Criteria) this;
        }

        public Criteria andDbUrlIsNotNull() {
            addCriterion("db_url is not null");
            return (Criteria) this;
        }

        public Criteria andDbUrlEqualTo(String value) {
            addCriterion("db_url =", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlNotEqualTo(String value) {
            addCriterion("db_url <>", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlGreaterThan(String value) {
            addCriterion("db_url >", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlGreaterThanOrEqualTo(String value) {
            addCriterion("db_url >=", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlLessThan(String value) {
            addCriterion("db_url <", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlLessThanOrEqualTo(String value) {
            addCriterion("db_url <=", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlLike(String value) {
            addCriterion("db_url like", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlNotLike(String value) {
            addCriterion("db_url not like", value, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlIn(List<String> values) {
            addCriterion("db_url in", values, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlNotIn(List<String> values) {
            addCriterion("db_url not in", values, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlBetween(String value1, String value2) {
            addCriterion("db_url between", value1, value2, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andDbUrlNotBetween(String value1, String value2) {
            addCriterion("db_url not between", value1, value2, "dbUrl");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleIsNull() {
            addCriterion("connection_lifecycle is null");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleIsNotNull() {
            addCriterion("connection_lifecycle is not null");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleEqualTo(String value) {
            addCriterion("connection_lifecycle =", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleNotEqualTo(String value) {
            addCriterion("connection_lifecycle <>", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleGreaterThan(String value) {
            addCriterion("connection_lifecycle >", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleGreaterThanOrEqualTo(String value) {
            addCriterion("connection_lifecycle >=", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleLessThan(String value) {
            addCriterion("connection_lifecycle <", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleLessThanOrEqualTo(String value) {
            addCriterion("connection_lifecycle <=", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleLike(String value) {
            addCriterion("connection_lifecycle like", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleNotLike(String value) {
            addCriterion("connection_lifecycle not like", value, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleIn(List<String> values) {
            addCriterion("connection_lifecycle in", values, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleNotIn(List<String> values) {
            addCriterion("connection_lifecycle not in", values, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleBetween(String value1, String value2) {
            addCriterion("connection_lifecycle between", value1, value2, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleNotBetween(String value1, String value2) {
            addCriterion("connection_lifecycle not between", value1, value2, "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andInitialSizeIsNull() {
            addCriterion("initial_size is null");
            return (Criteria) this;
        }

        public Criteria andInitialSizeIsNotNull() {
            addCriterion("initial_size is not null");
            return (Criteria) this;
        }

        public Criteria andInitialSizeEqualTo(Integer value) {
            addCriterion("initial_size =", value, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeNotEqualTo(Integer value) {
            addCriterion("initial_size <>", value, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeGreaterThan(Integer value) {
            addCriterion("initial_size >", value, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeGreaterThanOrEqualTo(Integer value) {
            addCriterion("initial_size >=", value, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeLessThan(Integer value) {
            addCriterion("initial_size <", value, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeLessThanOrEqualTo(Integer value) {
            addCriterion("initial_size <=", value, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeIn(List<Integer> values) {
            addCriterion("initial_size in", values, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeNotIn(List<Integer> values) {
            addCriterion("initial_size not in", values, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeBetween(Integer value1, Integer value2) {
            addCriterion("initial_size between", value1, value2, "initialSize");
            return (Criteria) this;
        }

        public Criteria andInitialSizeNotBetween(Integer value1, Integer value2) {
            addCriterion("initial_size not between", value1, value2, "initialSize");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeIsNull() {
            addCriterion("cache_reference_type is null");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeIsNotNull() {
            addCriterion("cache_reference_type is not null");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeEqualTo(String value) {
            addCriterion("cache_reference_type =", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeNotEqualTo(String value) {
            addCriterion("cache_reference_type <>", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeGreaterThan(String value) {
            addCriterion("cache_reference_type >", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeGreaterThanOrEqualTo(String value) {
            addCriterion("cache_reference_type >=", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeLessThan(String value) {
            addCriterion("cache_reference_type <", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeLessThanOrEqualTo(String value) {
            addCriterion("cache_reference_type <=", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeLike(String value) {
            addCriterion("cache_reference_type like", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeNotLike(String value) {
            addCriterion("cache_reference_type not like", value, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeIn(List<String> values) {
            addCriterion("cache_reference_type in", values, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeNotIn(List<String> values) {
            addCriterion("cache_reference_type not in", values, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeBetween(String value1, String value2) {
            addCriterion("cache_reference_type between", value1, value2, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeNotBetween(String value1, String value2) {
            addCriterion("cache_reference_type not between", value1, value2, "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andDbDescribeIsNull() {
            addCriterion("db_describe is null");
            return (Criteria) this;
        }

        public Criteria andDbDescribeIsNotNull() {
            addCriterion("db_describe is not null");
            return (Criteria) this;
        }

        public Criteria andDbDescribeEqualTo(String value) {
            addCriterion("db_describe =", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeNotEqualTo(String value) {
            addCriterion("db_describe <>", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeGreaterThan(String value) {
            addCriterion("db_describe >", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeGreaterThanOrEqualTo(String value) {
            addCriterion("db_describe >=", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeLessThan(String value) {
            addCriterion("db_describe <", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeLessThanOrEqualTo(String value) {
            addCriterion("db_describe <=", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeLike(String value) {
            addCriterion("db_describe like", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeNotLike(String value) {
            addCriterion("db_describe not like", value, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeIn(List<String> values) {
            addCriterion("db_describe in", values, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeNotIn(List<String> values) {
            addCriterion("db_describe not in", values, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeBetween(String value1, String value2) {
            addCriterion("db_describe between", value1, value2, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andDbDescribeNotBetween(String value1, String value2) {
            addCriterion("db_describe not between", value1, value2, "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryIsNull() {
            addCriterion("source_factory is null");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryIsNotNull() {
            addCriterion("source_factory is not null");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryEqualTo(String value) {
            addCriterion("source_factory =", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryNotEqualTo(String value) {
            addCriterion("source_factory <>", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryGreaterThan(String value) {
            addCriterion("source_factory >", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryGreaterThanOrEqualTo(String value) {
            addCriterion("source_factory >=", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryLessThan(String value) {
            addCriterion("source_factory <", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryLessThanOrEqualTo(String value) {
            addCriterion("source_factory <=", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryLike(String value) {
            addCriterion("source_factory like", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryNotLike(String value) {
            addCriterion("source_factory not like", value, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryIn(List<String> values) {
            addCriterion("source_factory in", values, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryNotIn(List<String> values) {
            addCriterion("source_factory not in", values, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryBetween(String value1, String value2) {
            addCriterion("source_factory between", value1, value2, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryNotBetween(String value1, String value2) {
            addCriterion("source_factory not between", value1, value2, "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsIsNull() {
            addCriterion("max_age_seconds is null");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsIsNotNull() {
            addCriterion("max_age_seconds is not null");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsEqualTo(Integer value) {
            addCriterion("max_age_seconds =", value, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsNotEqualTo(Integer value) {
            addCriterion("max_age_seconds <>", value, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsGreaterThan(Integer value) {
            addCriterion("max_age_seconds >", value, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsGreaterThanOrEqualTo(Integer value) {
            addCriterion("max_age_seconds >=", value, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsLessThan(Integer value) {
            addCriterion("max_age_seconds <", value, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsLessThanOrEqualTo(Integer value) {
            addCriterion("max_age_seconds <=", value, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsIn(List<Integer> values) {
            addCriterion("max_age_seconds in", values, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsNotIn(List<Integer> values) {
            addCriterion("max_age_seconds not in", values, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsBetween(Integer value1, Integer value2) {
            addCriterion("max_age_seconds between", value1, value2, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andMaxAgeSecondsNotBetween(Integer value1, Integer value2) {
            addCriterion("max_age_seconds not between", value1, value2, "maxAgeSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsIsNull() {
            addCriterion("purge_interval_seconds is null");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsIsNotNull() {
            addCriterion("purge_interval_seconds is not null");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsEqualTo(Integer value) {
            addCriterion("purge_interval_seconds =", value, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsNotEqualTo(Integer value) {
            addCriterion("purge_interval_seconds <>", value, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsGreaterThan(Integer value) {
            addCriterion("purge_interval_seconds >", value, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsGreaterThanOrEqualTo(Integer value) {
            addCriterion("purge_interval_seconds >=", value, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsLessThan(Integer value) {
            addCriterion("purge_interval_seconds <", value, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsLessThanOrEqualTo(Integer value) {
            addCriterion("purge_interval_seconds <=", value, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsIn(List<Integer> values) {
            addCriterion("purge_interval_seconds in", values, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsNotIn(List<Integer> values) {
            addCriterion("purge_interval_seconds not in", values, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsBetween(Integer value1, Integer value2) {
            addCriterion("purge_interval_seconds between", value1, value2, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andPurgeIntervalSecondsNotBetween(Integer value1, Integer value2) {
            addCriterion("purge_interval_seconds not between", value1, value2, "purgeIntervalSeconds");
            return (Criteria) this;
        }

        public Criteria andDbPropsIsNull() {
            addCriterion("db_props is null");
            return (Criteria) this;
        }

        public Criteria andDbPropsIsNotNull() {
            addCriterion("db_props is not null");
            return (Criteria) this;
        }

        public Criteria andDbPropsEqualTo(String value) {
            addCriterion("db_props =", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsNotEqualTo(String value) {
            addCriterion("db_props <>", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsGreaterThan(String value) {
            addCriterion("db_props >", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsGreaterThanOrEqualTo(String value) {
            addCriterion("db_props >=", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsLessThan(String value) {
            addCriterion("db_props <", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsLessThanOrEqualTo(String value) {
            addCriterion("db_props <=", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsLike(String value) {
            addCriterion("db_props like", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsNotLike(String value) {
            addCriterion("db_props not like", value, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsIn(List<String> values) {
            addCriterion("db_props in", values, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsNotIn(List<String> values) {
            addCriterion("db_props not in", values, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsBetween(String value1, String value2) {
            addCriterion("db_props between", value1, value2, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbPropsNotBetween(String value1, String value2) {
            addCriterion("db_props not between", value1, value2, "dbProps");
            return (Criteria) this;
        }

        public Criteria andDbNameLikeInsensitive(String value) {
            addCriterion("upper(db_name) like", value.toUpperCase(), "dbName");
            return (Criteria) this;
        }

        public Criteria andUsernameLikeInsensitive(String value) {
            addCriterion("upper(username) like", value.toUpperCase(), "username");
            return (Criteria) this;
        }

        public Criteria andDbPasswordLikeInsensitive(String value) {
            addCriterion("upper(db_password) like", value.toUpperCase(), "dbPassword");
            return (Criteria) this;
        }

        public Criteria andDbTypeLikeInsensitive(String value) {
            addCriterion("upper(db_type) like", value.toUpperCase(), "dbType");
            return (Criteria) this;
        }

        public Criteria andDbUrlLikeInsensitive(String value) {
            addCriterion("upper(db_url) like", value.toUpperCase(), "dbUrl");
            return (Criteria) this;
        }

        public Criteria andConnectionLifecycleLikeInsensitive(String value) {
            addCriterion("upper(connection_lifecycle) like", value.toUpperCase(), "connectionLifecycle");
            return (Criteria) this;
        }

        public Criteria andCacheReferenceTypeLikeInsensitive(String value) {
            addCriterion("upper(cache_reference_type) like", value.toUpperCase(), "cacheReferenceType");
            return (Criteria) this;
        }

        public Criteria andDbDescribeLikeInsensitive(String value) {
            addCriterion("upper(db_describe) like", value.toUpperCase(), "dbDescribe");
            return (Criteria) this;
        }

        public Criteria andSourceFactoryLikeInsensitive(String value) {
            addCriterion("upper(source_factory) like", value.toUpperCase(), "sourceFactory");
            return (Criteria) this;
        }

        public Criteria andDbPropsLikeInsensitive(String value) {
            addCriterion("upper(db_props) like", value.toUpperCase(), "dbProps");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}